void
gtk_widget_map (GtkWidget *widget)
{
- GtkWidgetPrivate *priv;
-
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (_gtk_widget_get_visible (widget));
g_return_if_fail (_gtk_widget_get_child_visible (widget));
- priv = widget->priv;
-
if (!_gtk_widget_get_mapped (widget))
{
gtk_widget_push_verify_invariants (widget);
g_signal_emit (widget, widget_signals[MAP], 0);
if (!_gtk_widget_get_has_window (widget))
- gdk_window_invalidate_rect (priv->window, &priv->clip, FALSE);
+ gtk_widget_queue_draw (widget);
gtk_widget_pop_verify_invariants (widget);
}
void
gtk_widget_unmap (GtkWidget *widget)
{
- GtkWidgetPrivate *priv;
-
g_return_if_fail (GTK_IS_WIDGET (widget));
- priv = widget->priv;
-
if (_gtk_widget_get_mapped (widget))
{
g_object_ref (widget);
gtk_widget_push_verify_invariants (widget);
if (!_gtk_widget_get_has_window (widget))
- gdk_window_invalidate_rect (priv->window, &priv->clip, FALSE);
+ gtk_widget_queue_draw (widget);
_gtk_tooltip_hide (widget);
g_signal_emit (widget, widget_signals[UNMAP], 0);
cairo_region_t *invalidate = cairo_region_create_rectangle (&priv->clip);
cairo_region_union_rectangle (invalidate, &old_clip);
- gdk_window_invalidate_region (priv->window, invalidate, FALSE);
+ gtk_widget_queue_draw_region (widget, invalidate);
cairo_region_destroy (invalidate);
}